home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / ODF / Found / FWStream / SLObjReg.xih < prev    next >
Encoding:
Text File  |  1996-09-16  |  20.3 KB  |  672 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: SLObjReg.xih.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxih.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *     File:        SLObjReg.idl
  13.  * 
  14.  *     Contains:    Interface for OObjectRegistry class
  15.  * 
  16.  *     Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  17.  * 
  18.  */
  19.  
  20.  
  21. #ifndef SOM_FW_OObjectRegistry_xih
  22. #define SOM_FW_OObjectRegistry_xih
  23.  
  24. #include <somcls.xh>
  25. #include <somcm.xh>
  26.  
  27. /*
  28.  * Passthru lines: File: "C.xih", "before"
  29.  */
  30.  
  31.  
  32. #ifndef SOM_FW_OObjectRegistry_xh
  33. #include <SLObjReg.xh>
  34. #endif
  35.  
  36. /*
  37.  * Set the scope of methods functions
  38.  */
  39. #ifndef SOM_Scope
  40. #define SOM_Scope extern "C"
  41. #endif
  42.  
  43. #define FW_OObjectRegistry_MaxNoMethods 4
  44.  
  45. /*
  46.  * -- Instance Data
  47.  */
  48. typedef void FW_OObjectRegistryData;
  49.  
  50. /*
  51.  * Trace/Debug macro
  52.  */
  53. #ifndef FW_OObjectRegistryMethodDebug
  54. #define FW_OObjectRegistryMethodDebug(c,m) SOMMethodDebug(c,m)
  55. #endif
  56.  
  57. /*
  58.  * -- Method Macros for use in Method Procedures
  59.  */
  60. #ifdef METHOD_MACROS
  61.   #define _somInit somSelf->somInit
  62.   #define _somUninit somSelf->somUninit
  63.   #define _somDuplicateReference somSelf->somDuplicateReference
  64.   #define _somCompareReference somSelf->somCompareReference
  65.   #define _somRelease somSelf->somRelease
  66.   #define _somFree somSelf->somFree
  67.   #define _somCanDelete somSelf->somCanDelete
  68.   #define _somGetClass somSelf->somGetClass
  69.   #define _somGetClassName somSelf->somGetClassName
  70.   #define _somGetSize somSelf->somGetSize
  71.   #define _somIsA somSelf->somIsA
  72.   #define _somRespondsTo somSelf->somRespondsTo
  73.   #define _somIsInstanceOf somSelf->somIsInstanceOf
  74.   #define _somDispatch somSelf->somDispatch
  75.   #define _somClassDispatch somSelf->somClassDispatch
  76.   #define _somCastObj somSelf->somCastObj
  77.   #define _somResetObj somSelf->somResetObj
  78.   #define _somPrintSelf somSelf->somPrintSelf
  79.   #define _somDumpSelf somSelf->somDumpSelf
  80.   #define _somDumpSelfInt somSelf->somDumpSelfInt
  81.   #define _RegisterObject somSelf->RegisterObject
  82.   #define _RegisterObjectAndID somSelf->RegisterObjectAndID
  83.   #define _LookupByObject somSelf->LookupByObject
  84.   #define _LookupByID somSelf->LookupByID
  85.   #define _somInit somSelf->somInit
  86.   #define _somUninit somSelf->somUninit
  87. #endif
  88.  
  89.  
  90. /*
  91.  * Introduced methods
  92.  */
  93.  
  94. /* New Method: RegisterObject */
  95. SOM_Scope FW_ObjectRegistry_ID  SOMLINK FW_OObjectRegistry__RegisterObject(FW_OObjectRegistry *somSelf, Environment *ev,
  96.         void* object);
  97.  
  98. /* New Method: RegisterObjectAndID */
  99. SOM_Scope void  SOMLINK FW_OObjectRegistry__RegisterObjectAndID(FW_OObjectRegistry *somSelf, Environment *ev,
  100.         void* object,
  101.         FW_ObjectRegistry_ID id);
  102.  
  103. /* New Method: LookupByObject */
  104. SOM_Scope FW_ObjectRegistry_ID  SOMLINK FW_OObjectRegistry__LookupByObject(FW_OObjectRegistry *somSelf, Environment *ev,
  105.         void* object);
  106.  
  107. /* New Method: LookupByID */
  108. SOM_Scope void*  SOMLINK FW_OObjectRegistry__LookupByID(FW_OObjectRegistry *somSelf, Environment *ev,
  109.         FW_ObjectRegistry_ID id);
  110.  
  111. /*
  112.  * Overridden methods
  113.  */
  114.  
  115. /* Overridden method: somInit */
  116. SOM_Scope void  SOMLINK FW_OObjectRegistry__somInit(FW_OObjectRegistry *somSelf);
  117. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OObjectRegistry_somInit)(FW_OObjectRegistry *somSelf);
  118. inline void  SOMLINK FW_OObjectRegistry_parent_SOMObject_somInit(FW_OObjectRegistry *somSelf)
  119. {
  120.   (void)         (somSelf);
  121. }
  122. #define FW_OObjectRegistry_parents_somInit(arg0) \
  123.   (void) FW_OObjectRegistry_parent_SOMObject_somInit(arg0)
  124.  
  125. /* Overridden method: somUninit */
  126. SOM_Scope void  SOMLINK FW_OObjectRegistry__somUninit(FW_OObjectRegistry *somSelf);
  127. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OObjectRegistry_somUninit)(FW_OObjectRegistry *somSelf);
  128. inline void  SOMLINK FW_OObjectRegistry_parent_SOMObject_somUninit(FW_OObjectRegistry *somSelf)
  129. {
  130.   (void)         (somSelf);
  131. }
  132. #define FW_OObjectRegistry_parents_somUninit(arg0) \
  133.   (void) FW_OObjectRegistry_parent_SOMObject_somUninit(arg0)
  134.  
  135. /*
  136.  * -- Primary Implementation File Support
  137.  */
  138. #if (defined(FW_OObjectRegistry_Class_Source) || defined(SOM_Module_slobjreg_Source))
  139.  
  140. /*
  141.  * -- The FW_OObjectRegistry ClassData Structure
  142.  */
  143.  
  144. #if PRAGMA_IMPORT_SUPPORTED
  145. #pragma export list FW_OObjectRegistryClassData
  146. #endif
  147.  
  148.  
  149. /*
  150.  * -- The FW_OObjectRegistry Class Ancestor Table
  151.  */
  152. static somClassDataStructure * SOMDLINK FW_OObjectRegistryClassAncestors [] = {
  153.     (somClassDataStructure*) & SOMObjectClassData,    /* parent */
  154. };
  155.  
  156.  
  157. /*
  158.  * -- The FW_OObjectRegistry Override ProcPtr Implementations Table
  159.  */
  160. static somMethodPtr FW_OObjectRegistryOverrideProcs [] = {
  161.     (somMethodPtr) FW_OObjectRegistry__somInit,    /* override class SOMObject */
  162.     (somMethodPtr) FW_OObjectRegistry__somUninit,    /* override class SOMObject */
  163. };
  164.  
  165.  
  166. static void FW_OObjectRegistryDLLD ( void ) { }
  167.  
  168.  
  169. /*
  170.  * -- The FW_OObjectRegistry Static Class Info Master Table
  171.  */
  172. static somStaticClassInfo FW_OObjectRegistrySCI = {
  173.       70,    /* layout version */
  174.     (somClassDataStructure*)  & FW_OObjectRegistryClassData,    /* main token table */
  175.       FW_OObjectRegistryOverrideProcs,    /* override proc implemenations table */
  176.       FW_OObjectRegistryClassAncestors,    /* ancestor table */
  177.       FW_OObjectRegistryDLLD,    /* DLLdesignator */
  178.       0,    /* no special procs */
  179.       0,    /* rtci slot */
  180.       0,    /* count slot */
  181.       0,    /* dynamic ancestry */
  182.       0,    /* free */
  183.       0,    /* free */
  184.       0,    /* free */
  185.       0,    /* free */
  186.  
  187. /*
  188.  * -- The FW_OObjectRegistry Counts Table
  189.  */
  190.     (somStaticClassCounts *)
  191.         "\x00\x00\x00\x01"    /* majorversion */
  192.         "\x00\x00\x00\x00"    /* minorversion */
  193.         "\x00\x00\x00\x01"    /* flags */
  194.             "\x00\x00"    /* type code alignment */
  195.             "\x00\x06"    /* classTokenCount */
  196.             "\x00\x01"    /* numDirectParents */
  197.             "\x00\x00"    /* numMetaClasses */
  198.             "\x00\x01"    /* numOverriddenAncestors */
  199.             "\x00\x00"    /* numMigratedMethods */
  200.             "\x00\x00"    /* numSelectedInherited */
  201.             "\x00\x00"    /* numUnused */
  202.             "\x00\x00"    /* free */
  203.             "\x00\x00"    /* free */
  204.             "\x00\x00"    /* free */
  205.             "\x00"    /* free */
  206.                 ,
  207.  
  208.     {
  209.       "FW_OObjectRegistry",    /* the class name */
  210.       0, /* no class instance data */
  211.  
  212. /*
  213.  * -- The FW_OObjectRegistry Parent Versions Table
  214.  */
  215.     (somParentVersions *)
  216.         "\x00\x00\x00\x46"    /* majorversion */
  217.         "\x00\x00\x00\x01"    /* minorversion */
  218.                 ,
  219.  
  220.  
  221. /*
  222.  * -- The FW_OObjectRegistry Token Slot Usage Table
  223.  */
  224.     (somSlotUsage *)
  225.         "\x33\x00",
  226.  
  227.  
  228. /*
  229.  * -- The FW_OObjectRegistry Method Signature Info
  230.  */
  231.     (somSignatureInfo *)
  232.         "\x03\x05"    /* RegisterObject */
  233.          "\x04\x07"    /* RegisterObjectAndID */
  234.          "\x03\x05"    /* LookupByObject */
  235.          "\x03\x0c"    /* LookupByID */
  236.              ,
  237.  
  238.  
  239. /*
  240.  * -- The FW_OObjectRegistry Class Method Names
  241.  */
  242.         "somInit\0"
  243.         "somUninit\0"
  244.         "RegisterObject\0"
  245.         "RegisterObjectAndID\0"
  246.         "LookupByObject\0"
  247.         "LookupByID\0"
  248.             ,
  249.  
  250.  
  251. /*
  252.  * -- The FW_OObjectRegistry Override Slots Table
  253.  */
  254.     (somOverrideData *)
  255.         "\x00\x00\x00\x02"    /* parent SOMObject has 2 overrides */
  256.             "\x00\x00"    /* somInit */
  257.             "\x00\x01"    /* somUninit */
  258.                 ,
  259.  
  260.       0,    /* no migrated methods table */
  261.       0,    /* no selected inherited */
  262.       0,    /* unused */
  263.  
  264.       0,    /* free */
  265.       0,    /* free */
  266.       0,    /* free */
  267.       0,    /* free */
  268.     },
  269. };
  270.  
  271. /*
  272.  * -- The FW_OObjectRegistry ClassData Structure
  273.  */
  274. struct FW_OObjectRegistryClassDataStructure SOMDLINK FW_OObjectRegistryClassData = {
  275.       0,            /* zero */
  276.     & FW_OObjectRegistrySCI,        /* SCI link */
  277.       0,            /* instanceDataToken */
  278.       0,            /* reserved */
  279.       0,            /* reserved */
  280.       0,            /* reserved */
  281.     (somMToken) 0,        /* somInit:empty */
  282.     (somMToken) 0,        /* somUninit:empty */
  283.     (somMToken) FW_OObjectRegistry__RegisterObject,    /* RegisterObject:method */
  284.     (somMToken) FW_OObjectRegistry__RegisterObjectAndID,    /* RegisterObjectAndID:method */
  285.     (somMToken) FW_OObjectRegistry__LookupByObject,    /* LookupByObject:method */
  286.     (somMToken) FW_OObjectRegistry__LookupByID,    /* LookupByID:method */
  287. };
  288.  
  289.  
  290. /*
  291.  * Functions for attributes.
  292.  */
  293.  
  294. /*
  295.  * Macros for initializers/destructors
  296.  */
  297.  
  298. #endif /* Primary Implementation Support */
  299.  
  300. #endif       /* SOM_FW_OObjectRegistry_xih */
  301.  
  302. #ifndef SOM_FW_OBasicObjectRegistry_xih
  303. #define SOM_FW_OBasicObjectRegistry_xih
  304.  
  305. #include <somcls.xh>
  306. #include <somcm.xh>
  307.  
  308. /*
  309.  * Passthru lines: File: "C.xih", "before"
  310.  */
  311.  
  312.  
  313. #ifndef SOM_FW_OBasicObjectRegistry_xh
  314. #include <SLObjReg.xh>
  315. #endif
  316.  
  317. /*
  318.  * Set the scope of methods functions
  319.  */
  320. #ifndef SOM_Scope
  321. #define SOM_Scope extern "C"
  322. #endif
  323.  
  324. #define FW_OBasicObjectRegistry_MaxNoMethods 0
  325.  
  326. /*
  327.  * -- Instance Data
  328.  */
  329.  
  330. /*
  331.  * -- Use best possible alignment for instance data slice.
  332.  */
  333. #if PRAGMA_ALIGN_SUPPORTED
  334. #  pragma options align=power
  335. #endif
  336. typedef struct FW_OBasicObjectRegistryData {
  337.     FW_OBasicObjectRegistry_SAssociation* fList;
  338.     long fListLength;
  339.     long fPhysicalListLength;
  340.     FW_ObjectRegistry_ID fNextUnusedID;
  341. } FW_OBasicObjectRegistryData;
  342. #if PRAGMA_ALIGN_SUPPORTED
  343. #  pragma options align=reset
  344. #endif
  345.  
  346. /*
  347.  * -- Getdata Macro
  348.  */
  349.  
  350. /*
  351.  * -- This emitter treats Data Tokens as Thunks by default.
  352.  * -- Use the sc modifier "nothunks" to override this default.
  353.  */
  354. SOMEXTERN typedef FW_OBasicObjectRegistryData* (* SOMLINK somTD_FW_OBasicObjectRegistry_DataThunk)(void*);
  355. #define FW_OBasicObjectRegistryGetData(somSelf) \
  356.    (((somTD_FW_OBasicObjectRegistry_DataThunk)(FW_OBasicObjectRegistryClassData.instanceDataToken))(somSelf))
  357.  
  358. /*
  359.  * -- Instance Data Access Macros for use in Method Procedures
  360.  */
  361. #ifdef VARIABLE_MACROS
  362.   #define _fList (somThis->fList)
  363.   #define _fListLength (somThis->fListLength)
  364.   #define _fPhysicalListLength (somThis->fPhysicalListLength)
  365.   #define _fNextUnusedID (somThis->fNextUnusedID)
  366. #endif
  367.  
  368.  
  369. /*
  370.  * Trace/Debug macro
  371.  */
  372. #ifndef FW_OBasicObjectRegistryMethodDebug
  373. #define FW_OBasicObjectRegistryMethodDebug(c,m) SOMMethodDebug(c,m)
  374. #endif
  375.  
  376. /*
  377.  * -- Method Macros for use in Method Procedures
  378.  */
  379. #ifdef METHOD_MACROS
  380.   #define _RegisterObject somSelf->RegisterObject
  381.   #define _RegisterObjectAndID somSelf->RegisterObjectAndID
  382.   #define _LookupByObject somSelf->LookupByObject
  383.   #define _LookupByID somSelf->LookupByID
  384.   #define _somInit somSelf->somInit
  385.   #define _somUninit somSelf->somUninit
  386.   #define _somInit somSelf->somInit
  387.   #define _somUninit somSelf->somUninit
  388.   #define _somDuplicateReference somSelf->somDuplicateReference
  389.   #define _somCompareReference somSelf->somCompareReference
  390.   #define _somRelease somSelf->somRelease
  391.   #define _somFree somSelf->somFree
  392.   #define _somCanDelete somSelf->somCanDelete
  393.   #define _somGetClass somSelf->somGetClass
  394.   #define _somGetClassName somSelf->somGetClassName
  395.   #define _somGetSize somSelf->somGetSize
  396.   #define _somIsA somSelf->somIsA
  397.   #define _somRespondsTo somSelf->somRespondsTo
  398.   #define _somIsInstanceOf somSelf->somIsInstanceOf
  399.   #define _somDispatch somSelf->somDispatch
  400.   #define _somClassDispatch somSelf->somClassDispatch
  401.   #define _somCastObj somSelf->somCastObj
  402.   #define _somResetObj somSelf->somResetObj
  403.   #define _somPrintSelf somSelf->somPrintSelf
  404.   #define _somDumpSelf somSelf->somDumpSelf
  405.   #define _somDumpSelfInt somSelf->somDumpSelfInt
  406.   #define _somInit somSelf->somInit
  407.   #define _somUninit somSelf->somUninit
  408.   #define _RegisterObject somSelf->RegisterObject
  409.   #define _RegisterObjectAndID somSelf->RegisterObjectAndID
  410.   #define _LookupByObject somSelf->LookupByObject
  411.   #define _LookupByID somSelf->LookupByID
  412. #endif
  413.  
  414.  
  415. /*
  416.  * Overridden methods
  417.  */
  418.  
  419. /* Overridden method: somInit */
  420. SOM_Scope void  SOMLINK FW_OBasicObjectRegistry__somInit(FW_OBasicObjectRegistry *somSelf);
  421. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OBasicObjectRegistry_somInit)(FW_OBasicObjectRegistry *somSelf);
  422. inline void  SOMLINK FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_somInit(FW_OBasicObjectRegistry *somSelf)
  423. {
  424.   (void)         (somSelf);
  425. }
  426. #define FW_OBasicObjectRegistry_parents_somInit(arg0) \
  427.   (void) FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_somInit(arg0)
  428.  
  429. /* Overridden method: somUninit */
  430. SOM_Scope void  SOMLINK FW_OBasicObjectRegistry__somUninit(FW_OBasicObjectRegistry *somSelf);
  431. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OBasicObjectRegistry_somUninit)(FW_OBasicObjectRegistry *somSelf);
  432. inline void  SOMLINK FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_somUninit(FW_OBasicObjectRegistry *somSelf)
  433. {
  434.   (void)         (somSelf);
  435. }
  436. #define FW_OBasicObjectRegistry_parents_somUninit(arg0) \
  437.   (void) FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_somUninit(arg0)
  438.  
  439. /* Overridden method: RegisterObject */
  440. SOM_Scope FW_ObjectRegistry_ID  SOMLINK FW_OBasicObjectRegistry__RegisterObject(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  441.         void* object);
  442. SOMEXTERN typedef FW_ObjectRegistry_ID   (* SOMLINK somTD_xih_FW_OBasicObjectRegistry_RegisterObject)(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  443.         void* object);
  444. inline FW_ObjectRegistry_ID  SOMLINK FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_RegisterObject(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  445.     void* object)
  446. {
  447. #ifdef SOMCHKEXCEPT
  448.   FW_ObjectRegistry_ID __somRetVal =   ((somTD_xih_FW_OBasicObjectRegistry_RegisterObject)
  449.     somParentNumResolve((somClassDataStructure*)&FW_OBasicObjectRegistryClassData, 1, FW_OObjectRegistryClassData.RegisterObject))
  450.         (somSelf,ev,object);
  451.   SOMCHKEXCEPT;
  452.   return __somRetVal;
  453. #else
  454.   return  ((somTD_xih_FW_OBasicObjectRegistry_RegisterObject)
  455.     somParentNumResolve((somClassDataStructure*)&FW_OBasicObjectRegistryClassData, 1, FW_OObjectRegistryClassData.RegisterObject))
  456.         (somSelf,ev,object);
  457. #endif
  458. }
  459. #define FW_OBasicObjectRegistry_parents_RegisterObject(arg0,arg1,arg2) \
  460.   (void) FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_RegisterObject(arg0,arg1,arg2)
  461.  
  462. /* Overridden method: RegisterObjectAndID */
  463. SOM_Scope void  SOMLINK FW_OBasicObjectRegistry__RegisterObjectAndID(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  464.         void* object,
  465.         FW_ObjectRegistry_ID id);
  466. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OBasicObjectRegistry_RegisterObjectAndID)(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  467.         void* object,
  468.         FW_ObjectRegistry_ID id);
  469. inline void  SOMLINK FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_RegisterObjectAndID(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  470.     void* object,
  471.     FW_ObjectRegistry_ID id)
  472. {
  473.   ((somTD_xih_FW_OBasicObjectRegistry_RegisterObjectAndID)
  474.     somParentNumResolve((somClassDataStructure*)&FW_OBasicObjectRegistryClassData, 1, FW_OObjectRegistryClassData.RegisterObjectAndID))
  475.         (somSelf,ev,object,id);
  476. #ifdef SOMCHKEXCEPT
  477.   SOMCHKEXCEPT;
  478. #endif
  479. }
  480. #define FW_OBasicObjectRegistry_parents_RegisterObjectAndID(arg0,arg1,arg2,arg3) \
  481.   (void) FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_RegisterObjectAndID(arg0,arg1,arg2,arg3)
  482.  
  483. /* Overridden method: LookupByObject */
  484. SOM_Scope FW_ObjectRegistry_ID  SOMLINK FW_OBasicObjectRegistry__LookupByObject(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  485.         void* object);
  486. SOMEXTERN typedef FW_ObjectRegistry_ID   (* SOMLINK somTD_xih_FW_OBasicObjectRegistry_LookupByObject)(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  487.         void* object);
  488. inline FW_ObjectRegistry_ID  SOMLINK FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_LookupByObject(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  489.     void* object)
  490. {
  491. #ifdef SOMCHKEXCEPT
  492.   FW_ObjectRegistry_ID __somRetVal =   ((somTD_xih_FW_OBasicObjectRegistry_LookupByObject)
  493.     somParentNumResolve((somClassDataStructure*)&FW_OBasicObjectRegistryClassData, 1, FW_OObjectRegistryClassData.LookupByObject))
  494.         (somSelf,ev,object);
  495.   SOMCHKEXCEPT;
  496.   return __somRetVal;
  497. #else
  498.   return  ((somTD_xih_FW_OBasicObjectRegistry_LookupByObject)
  499.     somParentNumResolve((somClassDataStructure*)&FW_OBasicObjectRegistryClassData, 1, FW_OObjectRegistryClassData.LookupByObject))
  500.         (somSelf,ev,object);
  501. #endif
  502. }
  503. #define FW_OBasicObjectRegistry_parents_LookupByObject(arg0,arg1,arg2) \
  504.   (void) FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_LookupByObject(arg0,arg1,arg2)
  505.  
  506. /* Overridden method: LookupByID */
  507. SOM_Scope void*  SOMLINK FW_OBasicObjectRegistry__LookupByID(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  508.         FW_ObjectRegistry_ID id);
  509. SOMEXTERN typedef void*   (* SOMLINK somTD_xih_FW_OBasicObjectRegistry_LookupByID)(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  510.         FW_ObjectRegistry_ID id);
  511. inline void*  SOMLINK FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_LookupByID(FW_OBasicObjectRegistry *somSelf, Environment *ev,
  512.     FW_ObjectRegistry_ID id)
  513. {
  514. #ifdef SOMCHKEXCEPT
  515.   void* __somRetVal =   ((somTD_xih_FW_OBasicObjectRegistry_LookupByID)
  516.     somParentNumResolve((somClassDataStructure*)&FW_OBasicObjectRegistryClassData, 1, FW_OObjectRegistryClassData.LookupByID))
  517.         (somSelf,ev,id);
  518.   SOMCHKEXCEPT;
  519.   return __somRetVal;
  520. #else
  521.   return  ((somTD_xih_FW_OBasicObjectRegistry_LookupByID)
  522.     somParentNumResolve((somClassDataStructure*)&FW_OBasicObjectRegistryClassData, 1, FW_OObjectRegistryClassData.LookupByID))
  523.         (somSelf,ev,id);
  524. #endif
  525. }
  526. #define FW_OBasicObjectRegistry_parents_LookupByID(arg0,arg1,arg2) \
  527.   (void) FW_OBasicObjectRegistry_parent_FW_OObjectRegistry_LookupByID(arg0,arg1,arg2)
  528.  
  529. /*
  530.  * -- Primary Implementation File Support
  531.  */
  532. #if (defined(FW_OBasicObjectRegistry_Class_Source) || defined(SOM_Module_slobjreg_Source))
  533.  
  534. /*
  535.  * -- The FW_OBasicObjectRegistry ClassData Structure
  536.  */
  537.  
  538. #if PRAGMA_IMPORT_SUPPORTED
  539. #pragma export list FW_OBasicObjectRegistryClassData
  540. #endif
  541.  
  542.  
  543. /*
  544.  * -- The FW_OBasicObjectRegistry Class Ancestor Table
  545.  */
  546. static somClassDataStructure * SOMDLINK FW_OBasicObjectRegistryClassAncestors [] = {
  547.     (somClassDataStructure*) & FW_OObjectRegistryClassData,    /* parent */
  548.     (somClassDataStructure*) & SOMObjectClassData,    /* ancestor */
  549. };
  550.  
  551.  
  552. /*
  553.  * -- The FW_OBasicObjectRegistry Override ProcPtr Implementations Table
  554.  */
  555. static somMethodPtr FW_OBasicObjectRegistryOverrideProcs [] = {
  556.     (somMethodPtr) FW_OBasicObjectRegistry__RegisterObject,    /* override class FW_OObjectRegistry */
  557.     (somMethodPtr) FW_OBasicObjectRegistry__RegisterObjectAndID,    /* override class FW_OObjectRegistry */
  558.     (somMethodPtr) FW_OBasicObjectRegistry__LookupByObject,    /* override class FW_OObjectRegistry */
  559.     (somMethodPtr) FW_OBasicObjectRegistry__LookupByID,    /* override class FW_OObjectRegistry */
  560.     (somMethodPtr) FW_OBasicObjectRegistry__somInit,    /* override class SOMObject */
  561.     (somMethodPtr) FW_OBasicObjectRegistry__somUninit,    /* override class SOMObject */
  562. };
  563.  
  564.  
  565. static void FW_OBasicObjectRegistryDLLD ( void ) { }
  566.  
  567.  
  568. /*
  569.  * -- The FW_OBasicObjectRegistry Static Class Info Master Table
  570.  */
  571. static somStaticClassInfo FW_OBasicObjectRegistrySCI = {
  572.       70,    /* layout version */
  573.     (somClassDataStructure*)  & FW_OBasicObjectRegistryClassData,    /* main token table */
  574.       FW_OBasicObjectRegistryOverrideProcs,    /* override proc implemenations table */
  575.       FW_OBasicObjectRegistryClassAncestors,    /* ancestor table */
  576.       FW_OBasicObjectRegistryDLLD,    /* DLLdesignator */
  577.       0,    /* no special procs */
  578.       0,    /* rtci slot */
  579.       0,    /* count slot */
  580.       0,    /* dynamic ancestry */
  581.       0,    /* free */
  582.       0,    /* free */
  583.       0,    /* free */
  584.       0,    /* free */
  585.  
  586. /*
  587.  * -- The FW_OBasicObjectRegistry Counts Table
  588.  */
  589.     (somStaticClassCounts *)
  590.         "\x00\x00\x00\x01"    /* majorversion */
  591.         "\x00\x00\x00\x00"    /* minorversion */
  592.         "\x00\x00\x00\x01"    /* flags */
  593.             "\x00\x02"    /* type code alignment */
  594.             "\x00\x00"    /* classTokenCount */
  595.             "\x00\x01"    /* numDirectParents */
  596.             "\x00\x00"    /* numMetaClasses */
  597.             "\x00\x02"    /* numOverriddenAncestors */
  598.             "\x00\x00"    /* numMigratedMethods */
  599.             "\x00\x00"    /* numSelectedInherited */
  600.             "\x00\x00"    /* numUnused */
  601.             "\x00\x00"    /* free */
  602.             "\x00\x00"    /* free */
  603.             "\x00\x00"    /* free */
  604.             "\x00"    /* free */
  605.                 ,
  606.  
  607.     {
  608.       "FW_OBasicObjectRegistry",    /* the class name */
  609.       sizeof (FW_OBasicObjectRegistryData), /* class instance data size */
  610.  
  611. /*
  612.  * -- The FW_OBasicObjectRegistry Parent Versions Table
  613.  */
  614.     (somParentVersions *)
  615.         "\x00\x00\x00\x01"    /* majorversion */
  616.         "\x00\x00\x00\x00"    /* minorversion */
  617.                 ,
  618.  
  619.       0,    /* token table slot usage */
  620.       0,    /* no method signature info */
  621.       0,    /* no method names string */
  622.  
  623. /*
  624.  * -- The FW_OBasicObjectRegistry Override Slots Table
  625.  */
  626.     (somOverrideData *)
  627.         "\x00\x00\x00\x04"    /* parent FW_OObjectRegistry has 4 overrides */
  628.             "\x00\x02"    /* RegisterObject */
  629.             "\x00\x03"    /* RegisterObjectAndID */
  630.             "\x00\x04"    /* LookupByObject */
  631.             "\x00\x05"    /* LookupByID */
  632.         "\x00\x01\x00\x02"    /* parent SOMObject has 2 overrides */
  633.             "\x00\x00"    /* somInit */
  634.             "\x00\x01"    /* somUninit */
  635.                 ,
  636.  
  637.       0,    /* no migrated methods table */
  638.       0,    /* no selected inherited */
  639.       0,    /* unused */
  640.  
  641.       0,    /* free */
  642.       0,    /* free */
  643.       0,    /* free */
  644.       0,    /* free */
  645.     },
  646. };
  647.  
  648. /*
  649.  * -- The FW_OBasicObjectRegistry ClassData Structure
  650.  */
  651. struct FW_OBasicObjectRegistryClassDataStructure SOMDLINK FW_OBasicObjectRegistryClassData = {
  652.       0,            /* zero */
  653.     & FW_OBasicObjectRegistrySCI,        /* SCI link */
  654.       0,            /* instanceDataToken */
  655.       0,            /* reserved */
  656.       0,            /* reserved */
  657.       0,            /* reserved */
  658. };
  659.  
  660.  
  661. /*
  662.  * Functions for attributes.
  663.  */
  664.  
  665. /*
  666.  * Macros for initializers/destructors
  667.  */
  668.  
  669. #endif /* Primary Implementation Support */
  670.  
  671. #endif       /* SOM_FW_OBasicObjectRegistry_xih */
  672.